This disclosure relates generally to the field of data replication, and more particularly to data replication recovery.
Data replication, also referred to as change data capture, provides trusted data synchronization between a source database and one or more target databases. The source database collects transactions as they are committed and saves them in a repository. Specialized agents send the committed transactions across a network to the target computer where they are received by other specialized agents and applied to the target database. In this way, the target database is a duplicate of the source database. Read-only applications may direct queries to the target database, thereby reducing contention and increasing performance on the source database. Additionally, if the source computer, source database, or network fails, the target database may act as source database.
At any point in time, the replicated target database data should be in sync with the source database. However when a failure, for example data corruption, on the source database interrupts replication to the target database, data replication cannot easily be restarted. Typically, the source database is restored using a known reliable archive. Additional archive media or transaction log files may be applied to bring the source database to a point in time prior to the issue that caused the failure. Since it is likely that the target database represents a later point in time later than the source database, particularly after the source database is recovered, to restore the replication environment, the same archive and log media that is applied to the source database is also applied to the target database. This tends to be a time consuming process, during which the databases are unavailable to the business enterprise.
Having the ability to selectively roll back or not apply transactions on the target database may eliminate the need for a complete restore of the target database, expedite the resynchronization of the replication environment, and reduce the time the replication environment is unavailable.